home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Games 1996 July
/
Amiga Games 1996 #7.iso
/
userbox
/
publicdomain
/
amigabase
/
data
/
english
/
scheduler.readme
< prev
next >
Wrap
Text File
|
1994-10-09
|
6KB
|
113 lines
[Note from Steffen Gutmann: This project has been created
by Eyal Teler. Thanks Eyal. I have made some minor changes
to the project and this readme file.]
Scheduler - an appointment book
===============================
This is an example of what can be achieved with Amigabase with some work.
Scheduler was written on Workbench 1.3. Use of ARexx might have made it
better. Filtering from a program could have made it simpler. As it is,
Scheduler is quite powerful, but sometimes a bit slow.
Scheduler was written in two days. There are many ways to enhance it,
and make it into a truely useful application (for example by adding
monthly and daily views, adding an address book, etc.).
Scheduler is not intended to show good programming style, and indeed
it could be made clearer. On the other hand, it is intended to show (some
of) the power of AmigaBase.
What is Scheduler:
-----------------
Scheduler allows you to keep track of your appointments, much like the
'Address' project. But in addition the keeping the list of appointments,
Scheduler also allows viewing a yearly calendar, marked according to the
appointments, and selecting an appointment from this calendar. Scheduler
also allows simple entry of common names and other values, and has
automatic checking for overlapping appointments.
Starting:
---------
There are two ways to create an appointment book. Either take a full
one (such as the example one), and use 'Init' (a button at the top right
of the form), or load an empty one (using 'Open Structure') and add
a new global record (in the usual way).
Managing appointments:
----------------------
To create a new appointment, just create a new 'Appoint' record, and
enter the date, time, and length of the appointment (length is a time
field). When the length of the appointment is entered, Scheduler will
search for other appointments in the same time span. If there is such
an appointment, Scheduler will issue a warning. It's possible to ignore
the warning, and have two appointments at the same time. Appointments
with their length field empty don't count for this check. In general, the
offending appointment will be one immediately preceding of succeding
the current one, due to the ordering, but in any case it's possible to
use the 'Swap' button (above the Appoint record).
The other input fields in the record are self explanatory. There are
also three buttons, which hold the name of 'Length', 'Who' and 'Where'
fields. When activating these, a list of default values will be
presented, and you can select one by double-clicking. The default values
are taken from the 'Defaults' window, whose button is above the Appoint
record. This window holds three memo fields. Each line in these fields
is one default value.
It's possible to move between appointments normally, and also to
switch back and forth between two datasets. By pressing the 'Remember'
button, above the Appoint record, Scheduler will remember the current
record number (it's also possible to enter it directly into the field
near the button). It's possible to later go to this record (and back)
by using the 'Swap' button. [ This isn't a really useful feature. ]
Note that if a record is added ir changed, the number may no longer
refer to the same record.
The calendar:
-------------
The yearly calendar, available in the 'Year' window, shows a full
year, with each appointment shown as a star on the corrsponding day in
the calendar (even if there's more than one appointment per day, only
one star is displayed).
The field 'Year' at the top left of the form contains the year to be
displayed. If this number is changed, the calendar will change to display
the new year. It's also possible to move one year forward of backward, by
using the arrow buttons near the 'Year' field.
Changes to the appointments will not appear immediately in the calendar.
To view the changes it's possible to use the 'Update' button. Changing
the year in one of the above ways will always display an updated calendar,
as will changing the display mode (see below).
There are two display modes to the calendar. 'Day of month' displays
the days of each month from the left of the field. 'Weekday' displays
the days according to the day of the week. If first day of the month will
be placed according to the corresponding day of the week. The area before
the first day of the month is filled by '#' characters in this mode.
Another feature of the calendar is the ability to select an appointment.
This is done using the month buttons at the left of the window. When
activated, a month button will display all the appointments of the month
(if there are any). The record number is displayed, as well as date, time
and who the meeting is with. Selecting one of the displayed appointments
will bring the appointment window to the front, with the selected
appointment displayed.
Notes:
------
It's of course possible to filter the records, in order to find meetings
with a specific person, for example. This doesn't appear to affect the
calendar display.
The appointment datasets are ordered by Date, Time and length. Some
programs count on the datasets being ordered by Date or Date/Time.
The fields names of the Date and Time fields are Tim and Dat (because
the words Date and Time are reserved by AmigaBase).
It's possible to have more than one appointment book in the same project,
by creating several top level records. This might cause a wrong message
to appear (asking to erase the records of the current project), and it
should be cancelled. Having more than one appointment book in this way
is not really supported, but it should work.
It's also possible to have more than one set of default values.
I see no reason to use either multiple appointment books or multiple
defaults, but they are there if you want them.
There is one and only one calendar dataset. It's created on initialisation,
and is updated by the function _Recalc. It's impossible to add or delete
calendar datasets.